1
Plan de projet : Création d'un outil grep fonctionnant sous Rust
AI034Lesson 12
00:00

Dans le monde de Rust, un outil CLI robuste n'est pas simplement un seul script ; c'est une architecture soigneusement orchestrée Plan de projet. Pour créer un outil comme grep, nous divisons notre travail entre un Crate binaire et un Crate bibliothèque.

1. La métaphore de la machine à café

Imaginez une machine à café haut de gamme. Le lib.rs contient les mécanismes internes pour chauffer l'eau et broyer les grains—la « logique moteur ». Le main.rs est le bouton externe que l'utilisateur appuie—the « interface ». En les maintenant séparés, un technicien peut tester le chauffe-eau (bibliothèque) sans avoir à appuyer sur le bouton physique (binaire) à chaque fois.

2. Mise en place du moteur

Nous commençons par $ cargo new minigrep. Bien que cela crée un main.rs, nous devons introduire manuellement src/lib.rs. Ce découpage architectural garantit que notre logique centrale de recherche reste découplée du traitement de l'interface CLI, ce qui facilite les tests et la modularité.

Crate binairesrc/main.rs(L'« allumage »)Crate bibliothèquesrc/lib.rs(Le « moteur »)Appel de la logique

3. Modularité testable

En déplaçant la logique vers lib.rs, nous utilisons le cadre de test de Rust pour appeler des fonctions de bibliothèque dans un environnement contrôlé. Nous utilisons use minigrep; dans notre binaire pour importer le moteur tout en gardant la logique de traitement de ligne de commande isolée.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>